﻿using System;

namespace FirstFloor.P2P
{
    /// <summary>
    /// Defines the p2p application state
    /// </summary>
    public enum P2PApplicationState
    {
        /// <summary>
        /// Application is loading.
        /// </summary>
        Loading = 0,
        /// <summary>
        /// Application has been loaded.
        /// </summary>
        Loaded = 1,
        /// <summary>
        /// Application is closed.
        /// </summary>
        Closed = 2,
        /// <summary>
        /// Remote application is loaded, the p2p stack is now fully operational.
        /// </summary>
        RemoteAppLoaded = 3,
        /// <summary>
        /// Remote application has been closed, no network traffic is allowed.
        /// </summary>
        RemoteAppClosed = 4,
        /// <summary>
        /// Error state: the application instance is not hosted in a Live Messenger instance.
        /// </summary>
        ErrorNotHostedInLiveMessenger = 5,
        /// <summary>
        /// Error state: the remote application failed to load in a timely manner.
        /// </summary>
        ErrorRemoteAppLoadTimeout = 6
    }
}
